<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	{
		// // 1- class如何定义
		// const Box = class {
		//
		// }
		// // 用的较多
		// class Desk {
		//
		// }
	}
	{
		// 2- class的本质是一个函数
		// class Box {
		//
		// }
		//
		// console.log(typeof Box);// function
	}
	{
		// 3- 实例属性\原型属性在哪里定义。 原型属性
		// 每次实例化独有的属性称为实例属性
		// 当我实例化多个对象，这多个对象共享的属性称为原型属性。
		// class Box{
		// 	// 实例属性定义1
		// 	username="zhangsan";
		// 	age = 90;
		// 	constructor() {
		// 		// 实例属性定义2
		// 		this.age = 12;// 在constructor外部定义的实例属性名字与内部相同，以内部为准。
		// 	}
		// 	// 原型属性
		// 	render(){
		// 		console.log("render");
		// 	}
		// };
		// // 原型属性
		// Box.prototype.my = function(){
		//
		// }
		// console.log(new Box());
	}
	{
		// 4- 静态属性定义
		// class Box{
		// 	static age = 100;
		// }
		// // 静态属性1
		// Box.username = "zhangsan";
		//
		// console.log(Box.username,Box.age);// zhangsan 100
	}
	{
		// 5- 继承
		// class Box{
		// 	constructor() {
		// 		this.age = 100;
		// 	}
		// }
		// class Desk extends Box{
		// 	constructor() {
		// 		super();
		// 		this.username = "desk";
		// 	}
		// };
		// const desk = new Desk();
		// console.log(desk.username,desk.age);// desk
		
		
		// class Box{
		// 	constructor(username,age) {
		// 		this.username = username;
		// 		this.age = age;
		// 	}
		// }
		// class Desk extends Box{
		// 	// constructor(username,age) {
		// 	// 	super(username,age);
		// 	// }
		// };
		// const desk = new Desk("lisi",100);
		// console.log(desk.username,desk.age);// lisi 100
	}
</script>
</html>